package com.example.ffepeg.ffe;

import java.io.IOException;

public class ExtractFirstFrame {
    public static void main(String[] args) {
        // 网络路径中的MP4文件
        String videoUrl = "C:\\Users\\Administrator\\Desktop\\123415.mp4";
        // 输出图片文件名
        String outputImagePath = "src/main/resources/out/first_frame.jpg";

        // FFmpeg命令
        String ffmpegCommand = "ffmpeg -i " + videoUrl + " -vf \"select=gt(n\\,0)\" -vframes 1 " + outputImagePath;

        try {
            // 创建进程执行FFmpeg命令
            Process process = Runtime.getRuntime().exec(ffmpegCommand);

            // 等待命令执行完成
            int exitCode = process.waitFor();
            if (exitCode == 0) {
                System.out.println("成功提取第一帧！");
            } else {
                System.err.println("提取第一帧失败，退出代码：" + exitCode);
            }
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}
